\chapter{Alternative Lösungen}
\label{cha:konzept_alternative_loesungen}
Das erarbeitete und vorgestellte Konzept aus \autoref{part:konzept} basiert auf einem generischen Lösungsansatz. Um den ermittelten funktionalen Anforderungen und Qualitätsanforderungen gerecht zu werden, erfordert ein browserunabhängiges Lösungskonzept eine generische Basis, die auf Gemeinsamkeiten beruht. Zu den wichtigsten Gemeinsamkeiten gehören die unterstützten Technologien und das Erweiterungskonzept des zu unterstützenden Browsers.

Trotz diesen Randbedingungen kommen für einzelne Teilekonzepte auch alternative Lösungsvarianten in Frage. Nachfolgenden werden die wichtigsten alternativen Lösungsvorschläge genauer erläutert. 

\section{Front-End}
Alternativ könnte die Benutzeroberfläche auch in Form von Popups realisiert werden. Popups, auch Popovers genannt, sind Browser"=Fenster, die über einen benutzerdefinierten Button im Browser geöffnet werden können. In einem Popup"=Fenster können beliebige \acrshort{html}"=Dokumente geladen und dargestellt werden.
\subsubsection{Vorteile}
Das \acrshort{ui} des Kommandozeilen"=Fensters könnte in einem eigenen \acrshort{html}"=Dokument entwickelt und im Popup geladen werden. Der definierte Stil für das Aussehen des Kommandozeilen"=Fensters, wird nicht durch den Stil der aktuell geladenen Webseite beeinflusst, wie es bei Content Scripts der Fall ist.
\subsubsection{Nachteil}
Die evaluierten Prototyp"=Browser unterstützen alle Popups in ihrem Erweiterungskonzept. Der Internet Explorer und der Firefox Browser jedoch nicht. Die konkrete Implementation von Popups ist zudem von Browser zu Browser unterschiedlich. Bei einigen Browsern lassen sich Popups zur Laufzeit programmatisch erstellen, bei anderen müssen diese bereits in der Manifest"=Datei der Erweiterung deklariert werden.

Die Popup"=Implementationen einzelner Browser weisen nur sehr geringe Gemeinsamkeiten auf und erschweren eine generische und browserübergreifende Implementation. Zudem haben Skripte die im Kontext des Popups ausgeführt werden keinen Zugriff auf das \gls{_dom} der aktuell geladenen Webseite.

\subsubsection{Beurteilung}
Eine allfällige Implementation des Kommandozeilen"=Fensters mittels einem Popup"=Fenstern würde die Erweiterbarkeit des Konzepts einschränken. Aus diesem Grund und den erwähnten Nachteilen wurde das Konzept für das \gls{front_end} auf der Grundlage von Content Scripts entwickelt. Content Scripts sind sehr flexibel und eignen sich besser im Kontext eines browserübergreifenden Konzepts. 

\section{Parser}
Der \gls{tokenizer} und die syntaktische Analyse erfolgt im gewählten Lösungskonzept auf der Basis von regulären Ausdrücken. Bei der Verwendung von regulären Ausdrücken gibt es Rahmenbedingungen zu beachten. Diese können die Grammatik der pseudo-natürlichen Sprache einschränken. Alternativ könnte der \gls{parser} mittels einem geeigneten Algorithmus konzipiert werden, der auch die Mehrsprachigkeit der Grammatik für nicht"=germanische oder nicht"=romanische Sprachen, wie Arabisch, Chinesisch oder Japanisch unterstützt.

Der Fokus für diese Bachelorthesis wurde auf das browserunabhängige Konzept und nicht auf das konkrete \gls{parser}"=Modell gesetzt. Daher wurde die Komplexität des \gls{parser}"=Konzepts beschränkt und nur eine stark reduzierte Grammatik implementiert. Die sich dennoch im beschrankten Masse erweitern und verbessern lässt. 

